//package.json 中增加type=module ，才能支持es6语法，import等引入，但是__dirname、__filename不支持
import ts from "rollup-plugin-typescript2";
import { nodeResolve } from "@rollup/plugin-node-resolve";
import serve from "rollup-plugin-serve";
import { fileURLToPath } from "url"; //node中获取绝对路径
import { dirname, resolve } from "path";
import commonjs from "@rollup/plugin-commonjs";
//import.meta.url es6 module语法，文件的路径，是相对路径
const __filename = fileURLToPath(import.meta.url); //获取的是当前文件的绝对路径 /user/xiuping/..../rollup.config.js
const __dirname = dirname(__filename); //当前文件所在文件夹，是绝对路径  //user/xiuping/..../demo
export default {
  input: resolve(__dirname, "src/index.ts"), //入口
  output: {
    //出口
    format: "iife", //打包后的模块化规范
    file: resolve(__dirname, "dist/bundle.js"), //输出文件目录
    sourcemap: true, //源码调试功能
  },
  plugins: [
    commonjs(),
    nodeResolve({
      extensions: [".js", ".ts"], //解析那些文件
      browser:true
    }),
    ts({
      tsconfig: resolve(__dirname, "tsconfig.json"), //按照那个文件配置来解析
    }),
    serve({
      //配置静态服务
      open: true,
      openPage: "/src/index.html", //打开那个页面
      port: "3000",
    }),
  ],
};
